package com.hiultra.archive.service;

import com.hiultra.archive.domain.ArcArchive;

import java.util.List;

/**
 * 档案Service接口
 * 
 * @author ls
 * @date 2022-07-30
 */
public interface IArcArchiveService 
{
    /**
     * 查询档案
     * 
     * @param archiveId 档案主键
     * @return 档案
     */
    public ArcArchive selectArcArchiveByArchiveId(Long archiveId);

    /**
     * 查询档案列表
     * 
     * @param arcArchive 档案
     * @return 档案集合
     */
    public List<ArcArchive> selectArcArchiveList(ArcArchive arcArchive);

    /**
     * 新增档案
     * 
     * @param arcArchive 档案
     * @return 结果
     */
    public int insertArcArchive(ArcArchive arcArchive);

    /**
     * 修改档案
     * 
     * @param arcArchive 档案
     * @return 结果
     */
    public int updateArcArchive(ArcArchive arcArchive);

    /**
     * 批量删除档案
     * 
     * @param archiveIds 需要删除的档案主键集合
     * @return 结果
     */
    public int deleteArcArchiveByArchiveIds(Long[] archiveIds);

    /**
     * 删除档案信息
     * 
     * @param archiveId 档案主键
     * @return 结果
     */
    public int deleteArcArchiveByArchiveId(Long archiveId);

    /**
     * 校验档案档号称是否唯一
     *
     * @param arcArchive 档案
     * @return 结果
     */
    public String checkArchiveCodeUnique(ArcArchive arcArchive);

    /**
     * 导入档案数据
     *
     * @param arcArchiveList 档案数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importArchive(List<ArcArchive> arcArchiveList, Boolean isUpdateSupport, String operName);
}
